home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 52 / Amiga Format AFCD52 (Issue 136, May 2000).iso / -screenplay- / shareware / awinquake / amiga.readme next >
Text File  |  2000-02-29  |  9KB  |  289 lines

  1. Short: 68k and PPC ports of winquake, v0.5
  2. Author: Peter McGavin  (p.mcgavin@irl.cri.nz)
  3. Type: game/shoot
  4. Uploader: Peter McGavin  (p.mcgavin@irl.cri.nz)
  5. Version: 0.5
  6.  
  7.  
  8.  
  9.                             awinquake 0.5                   30 Jan 2000
  10.                             -------------
  11.  
  12.  
  13. This archive contains Amiga 68k and PPC ports of winquake, compiled as
  14. directly as possible from ID Software's winquake source code.
  15.  
  16. On 24th Dec 1999 I learnt that ID Software had released the source
  17. code of winquake, glquake, quakeworld and glquakeworld (on 21st Dec
  18. 1999) under GNU Public License (GPL) and made them available by ftp.
  19. So I downloaded them and tried compiling winquake with SAS/C 6.58 for
  20. the Amiga.  This archive represents my results after about 7 evenings
  21. and 4 days.
  22.  
  23. winquake is well written and extremely portable, so it didn't take
  24. long to get it working on my Amiga by cutting and pasting code from
  25. other projects.  I expect other people are doing better ports, e.g,
  26. Frank Wille and Steffen Haeuser.  However I hadn't seen any legal ones
  27. when I started, and as it didn't take very long to get a base version
  28. running, I thought I'd release what I've done.  If you're doing your
  29. own port, feel free to take source code from mine, but remember
  30. there's no guarantee.
  31.  
  32. Sorry I haven't even looked at the glquake and quakeworld source code
  33. yet.
  34.  
  35. You can get all the original ID Software quake source from:
  36.  
  37.    ftp://ftp.cdrom.com/pub/idgames/idstuff/source/q1source.zip
  38.  
  39. Source code of awinquake is necessarily in a separate archive on
  40. Aminet.  The GPL license requires that the source code of all
  41. modifications to Quake is made freely available.
  42.  
  43. Thanks to John Selck, Niels Froehling and others for the source code
  44. they sent me for inclusion in awinquake, and sorry I haven't done very
  45. much with it yet.
  46.  
  47.  
  48.  
  49. FEATURES:
  50. ---------
  51.  
  52. Several versions are provided, all compiled from the same source, but
  53. with different compilers.  They are:
  54.  
  55.         awinquake:       SAS/C, 68020+
  56.         awinquakeppc:    SAS/C+gcc, PPC, PowerUp or WarpOS+ppclibemu
  57.         awinquakewos:    StormC, PPC, WarpOS
  58.         awinquakevbcc:   vbcc, PPC, WarpOS
  59.  
  60. Also, Jarmo Laakkonen compiled awinquake with EGCS for WarpOS and
  61. uploaded his version to Aminet as game/shoot/WarpQuake.lha.
  62.  
  63. All versions are OS-friendly and multitask.
  64.  
  65. All versions put up an ASL requester for the ScreenMode.
  66.  
  67. PPC versions use Joseph Fenton's PPC c2p routine from ADoomPPC and
  68. triple buffering in AGA modes.
  69.  
  70. Sound effects are included.  Also CD audio for music works if you use
  71. ClickBoom's AmigaQuake CDROM.  You need cdplayer.library (from Aminet)
  72. for this.
  73.  
  74. Networking for TCP/IP is included.
  75.  
  76. awinquakeppc is mostly compiled with SAS/C scppc.  However, the
  77. innermost rendering routines are compiled with ppc-amigaos-gcc.  This
  78. results in a small speedup (about 3%) over compiling everything with
  79. scppc.
  80.  
  81. My modified source code should still compile for Linux (APUS),
  82. Solaris, Win95, etc, with no changes --- untested.
  83.  
  84. Speeds up to 38.0 fps have been observed for "timedemo demo2" in
  85. 320x200 on a 233 MHz PPC Amiga 3000 with CyberVisionPPC.
  86.  
  87. I added a -fps option, but see the note below about bus speed before
  88. you believe the numbers you see.
  89.  
  90.  
  91.  
  92. LIMITATIONS:
  93. ------------
  94.  
  95. My 68k version is much slower than ClickBoom's commercial version.  I
  96. use my 68k version primarily for debugging.
  97.  
  98. Only the PPC versions are optimised c2p for AGA.  In fact I don't
  99. recommend the 68k version at all.  Buy Clickboom's version.
  100.  
  101. No AHI yet either, sorry.
  102.  
  103. I haven't put much effort into optimising the code yet, apart from
  104. trying different compilers and compiler options.
  105.  
  106. Untested code.  Your mileage may vary.
  107.  
  108.  
  109.  
  110. REQUIREMENTS:
  111. -------------
  112.  
  113. A 68020+ Amiga running at least Kickstart 3.0, with at least about 16
  114. Mb of fastmem.
  115.  
  116. An FPU is required.
  117.  
  118. You need either a gfx-card or AGA.  ECS alone is not sufficient.
  119.  
  120. A TCP/IP stack is required for networking, e.g, AmiTCP or Miami.
  121. An ethernet card is strongly recommended.
  122.  
  123. I use a stack size of 500000 bytes.  I'm not sure what the minimum
  124. stack size is.  150000 bytes is definitely too small.
  125.  
  126. An MMU is neither required nor used.
  127.  
  128. You need cdplayer.library from Aminet, or start with -nocdaudio.  The
  129. game searches for Clickboom's CDROM for cdaudio (volume name "QUAKE".)
  130.  
  131. You need the Quake 1 PAK files and other support files from either a
  132. commercial or shareware version of Quake.  Assuming you've already
  133. installed AmigaQuake or a PC version, put awinquake or awinquakeppc in
  134. the same directory as the original quake executable.
  135.  
  136.  
  137.  
  138. MOUSE AND JOYPAD:
  139. -----------------
  140.  
  141. To enable mouse control, use -mouse.  To leave the mouse pointer
  142. visible, use -mousepointer.
  143.  
  144. To enable CD32 joypad control, use -joypad.  You must have
  145. lowlevel.library for this.  You need to bind the buttons yourself.
  146. The buttons are located in AUX1 - AUX11.
  147.  
  148. AUX1  = left
  149. AUX2  = right
  150. AUX3  = up
  151. AUX4  = down
  152. AUX5  = red
  153. AUX6  = green
  154. AUX7  = yellow
  155. AUX8  = blue
  156. AUX9  = play
  157. AUX10 = forward
  158. AUX11 = reverse
  159.  
  160. Binding example: In Quake console type, BIND AUX5 "+ATTACK".
  161.  
  162. Thanks to Jarmo Laakkonen for writing the joypad code.
  163.  
  164.  
  165.  
  166. KNOWN BUGS, PROBLEMS AND SOLUTIONS:
  167. -----------------------------------
  168.  
  169. If you get the message "file is not executable" when you start
  170. awinquakeppc, try using runelf, or run another program that uses
  171. ppc.library first.  Also, make sure the executable bit is set in the
  172. file protection mask of awinquakeppc.
  173.  
  174. Random crashes, especially crashes on exit, may be caused by stack too
  175. small.  Set a large stack, say 500000 bytes, especially if networking.
  176. Use the AmigaOS STACK command to set the stack size before you start
  177. awinquake or awinquakeppc.
  178.  
  179. The most buggy version is awinquakevbcc.  I suggest using awinquakeppc,
  180. awinquakewos or Jarmo Laakkonen's WarpQuake instead.
  181.  
  182. There is a -mem option for allocating a different size heap than the
  183. default.  For example, "awinquakeppc -mem 24" starts awinquake with a
  184. 24 Megabyte heap.  The default size is 8 Megabytes.  Some Quake
  185. add-ons, such as Malice, require a larger heap.  Also, a larger heap
  186. size reduces disk accesses.  If you are very short of memory, try a
  187. smaller heap, e.g, "awinquakeppc -mem 6".
  188.  
  189. The game may "stick" for a few seconds every few minutes when the
  190. cdplayer loops.  Sorry, no solution for this yet except -nocdaudio.
  191.  
  192. If the game reports the wrong bus speed at the start, as often happens
  193. with WarpOS+ppclibemu, then the game will run at the wrong speed and
  194. audio may sound broken up.  Furthermore, all reported times and fps
  195. ratings (e.g, for timedemo demo2) will be wrong.  Override with, e.g
  196. (for 66 MHz bus)
  197.  
  198.         awinquakeppc -bus 66666667
  199.  
  200. If the game takes too long to load, try using the AmigaOS ADDBUFFERS
  201. command.
  202.  
  203. The TCP/IP networking code seems to be rather flaky.  I successfully
  204. used it over ethernet with other Amigas running awinquakeppc, other
  205. Amigas running Clickboom's Quake and other PCs running Quake 1.06.
  206. (awinquake is a port of winquake 1.09.)  However, sometimes the server
  207. wasn't seen by the client looking for it.  In that case the solution
  208. is to type in the IP number of the server.  Sometimes I wasn't able to
  209. make a connection at all, or when I made a connection, the players
  210. couldn't move.  Then, when I tried again later, it worked just fine.
  211.  
  212.  
  213.  
  214. SPEED:
  215. ------
  216.  
  217. On my A3000 + 233MHz PPC + CVisionPPC, the fastest combination is
  218. awinquakeppc + WarpOS + ppclibemu, but I must use -bus 66666667 to get
  219. the timings right.  Jarmo Laakkonen's WarpQuake + WarpOS is nearly as
  220. fast with -wpa8.  WarpQuake's chunkyppc.library support is slower than
  221. WarpQuake -wpa8 on my system.
  222.  
  223.  
  224.  
  225. ANOTHER QUAKE PORT:
  226. -------------------
  227.  
  228. Another excellent Quake port by Steffen Haeuser, Frank Wille and
  229. others is available from http://devnull.own.de/~frank/quake_e.html.
  230. They have also ported QuakeWorld.  Their version is significantly
  231. faster than mine and has more features, but the version I tested
  232. seemed to have more bugs.
  233.  
  234.  
  235.  
  236. HISTORY:
  237. --------
  238.  
  239. v0.5   29 Jan 2000
  240.  
  241. Memory heap was allocated twice.  Oops.  Fixed.  It should use a lot
  242. less memory now.
  243.  
  244. Added native WarpOS versions awinquakewos and awinquakevbcc compiled
  245. with StormC 4.0 beta and vbcc 0.7 respectively.
  246.  
  247. Added joypad support code and improved mouse control using Jarmo
  248. Laakkonen's source code.
  249.  
  250.  
  251.  
  252. v0.4    7 Jan 2000
  253.  
  254. Should work under Kickstart 3.0 now.
  255.  
  256. Added -mouse and -mousepointer.
  257.  
  258. awinquakeppc should calculate the correct bus speed on PowerUp now.
  259. WarpOS+ppclibemu still often gets it wrong.
  260.  
  261. Now writes config.cfg on exit.
  262.  
  263. Handles slashes and colons in directory names better.
  264.  
  265.  
  266.  
  267. v0.3    4 Jan 2000
  268.  
  269. Fixed the crash that occurred if you don't have cybergraphics.library
  270.  
  271. Added -mem parameter.
  272.  
  273.  
  274.  
  275. v0.2   30 Dec 1999
  276.  
  277. First Aminet release.
  278.  
  279.  
  280.  
  281. THANKS:
  282. -------
  283.  
  284. Thanks to John Carmack and ID Software for one of the best games ever!
  285.  
  286.  
  287.  
  288. Peter McGavin.  (p.mcgavin@irl.cri.nz)
  289.